home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre2.z / postgre2 / doc / release3.1.me < prev    next >
Encoding:
Text File  |  1992-08-27  |  6.5 KB  |  199 lines

  1. .\"
  2. .\"    release3.0.me:  postgres version 3.0 release notes.  print using
  3. .\"            psroff -me.
  4. .\"
  5. .nr pi 3n
  6. .nr si 2n
  7. .nr pp 11
  8. .nr tp 11
  9. .nr sp 11
  10. .de RV
  11. .ie "\\$2"" \
  12. \{\
  13. .    ds VN "0.0
  14. .    ds VD "(No date)
  15. .    ds VT "UNAUDITED VERSION
  16. .\}
  17. .el \
  18. \{\
  19. .    ds VN \\$3
  20. .    ds VD \\$4
  21. .    ie "\\$7"Exp" \
  22. .        ds VT "DRAFT
  23. .    el \
  24. .        ds VT \\$7
  25. .\}
  26. ..
  27. .de CW
  28. \\fC\\$1\\fP\\$2
  29. ..
  30. .RV $Header: /private/postgres/doc/RCS/release3.1.me,v 1.5 1991/12/02 04:41:20 kemnitz Exp $
  31. .ds PG "\\s-2POSTGRES\\s0
  32. .ds PQ "\\s-2POSTQUEL\\s0
  33. .ce 99
  34. .ft B
  35. .ps 14
  36. \*(PG Version 3.1
  37. .sp 0.5v
  38. Release Notes
  39. .sp
  40. .ps 11
  41. \*(VD
  42. .ce 0
  43. .he '\*(PG V3.0 Release Notes'%'\*(VD'
  44. .sp 2
  45. .sh 1 "Introduction"
  46. .pp
  47. These are the release notes for version 3.1
  48. of the \*(PG database system from UC Berkeley.
  49. The database system and its installation procedure
  50. are covered in detail in the setup document for this release,
  51. which can be found in the file ~postgres/doc/postgres-setup.me.
  52. Here, we cover only the most important differences from release
  53. 3.0 and earlier versions of the system.
  54. .sh 1 "Aim"
  55. .pp
  56. The main focus of this release was an attempt to fix the reported
  57. bugs in version 3.0.  Because of this very little new 
  58. functionality has been added to the system.  One of the primary
  59. development efforts was in the push towards "ansification" of the 
  60. source code.  This manifested itself in the creation and clean up
  61. of \*(PG function prototypes.  All DEC platforms now compile with
  62. -DPROTOTYPES defined.  In the future we intend to continue this effort
  63. in the hopes of substantially cleaning up the code.
  64. .sh 1 "Changes to \*(PQ"
  65. .pp
  66. The \*(PQ query language has been modified only slightly.
  67. .sh 2 "define function"
  68. .pp
  69. The syntax
  70. for defining function has been changed in a move to make functions
  71. more orthogonal.  Where before there were two separate queries,
  72. one for c functions and one for postquel, now there is a single
  73. command.  The language in which the function is defined must now
  74. be specified as a parameter.  The syntax is as follows:
  75. .nf
  76. .bl
  77. .CW "define function <function-name>"
  78. .CW "(language = <lang>, returntype = <typename>"
  79. .CW "    [, arch_pct = <percentage | pre-defined>]"
  80. .CW "    [, disk_pct = <percentage | pre-defined>]"
  81. .CW "    [, byte_pct = <percentage | pre-defined>]"
  82. .CW "    [, perbyte_cpu = <int | pre-defined>]"
  83. .CW "    [, percall_cpu = <int | pre-defined>]"
  84. .CW "    [, iscachable])"
  85. .CW " arg is (<type-1> [ , <type-n>])"
  86. .CW " as <filename or code in language as appropriate>"
  87. .fi
  88. .bl
  89. Both the demo and the video demo give examples.  Currently the only
  90. languages supported are
  91. .b C
  92. and
  93. .b POSTQUEL.
  94. .pp
  95. .sh 1 "General System Changes"
  96. .sh 2 "Aggregates"
  97. .pp
  98. Aggregate (or column-valued functions) support is now much more
  99. general.  The type of values aggregated can be of completely arbitrary
  100. type.  Due to this generalization the initial values for aggregates are
  101. now stored in the pg_aggregate system catalog as type text.  This requires
  102. a slight change of syntax in aggregate definitions.  The initial values
  103. must now be enclosed in double quotes (See the Reference Manual).
  104. There are also many more built-in aggregate functions. The Reference
  105. Manual describes how to define and use aggregates in detail.
  106. The demo gives some simple examples.
  107. .pp
  108. .sh 2 "Functional Indices"
  109. .pp
  110. \*(PG now supports secondary indices defined on the resultant values
  111. of functions.  The syntax for functional indices is similar to that
  112. of standard secondary indices.  The difference is where you would normally
  113. specify an attribute, you now give a function call:
  114. .(1
  115.  
  116. define index foo on bar using btree (f([att1] [, att2] ...) int4_ops)
  117.  
  118. .)1
  119. .lp
  120. Only attributes defined in the specified relation can be used in the
  121. function.
  122. Functional index support is restricted to cachable functions only.
  123. Defining a functional index on a non-cachable function (e.g. one that
  124. depends on current database state) can result in incorrect behavior.
  125. .pp
  126. .sh 2 "Manual reorganization"
  127. .pp
  128. The \*(PG tutorials have been merged into a single user manual and largely
  129. rewritten.  This manual is recommended reading for new users.  The old manual
  130. is now called the Reference, and is still included in its entirety.  The new
  131. manual is in
  132. .(l
  133. ~postgres/doc/manual.me
  134. .)l
  135. .pp
  136. .sh 1 "Known Bugs"
  137. .pp
  138. There are a few known bugs that we did not fix in the current
  139. release.  
  140. .sh 2 "Indices and the Instance Level Rule System"
  141. .pp
  142. The Instance Level Rule System essentially ignores indices, so if you are
  143. defining a rule on an indexed attribute, you should use the Query Rewrite
  144. rule system.
  145. .sh 2 "Retrieve Into and failed backends"
  146. .pp
  147. If a backend fails while in the course of executing a Retrieve Into query,
  148. a spurious file, with the same name as the target class of the Retrieve Into,
  149. will be left in the database directory.  This file can be safely deleted by the
  150. database DBA. 
  151. .sh 2 "Large Objects and failed backends"
  152. .pp
  153. If a backend fails while it is manipulating large objects, spurious large
  154. object files will be left in the database directory.  Also, there is no
  155. mechanism for getting rid of large objects which are returned by functions
  156. but not stored in instances.
  157. .sh 2 "Postgres User Id's and Unix UID's"
  158. .pp
  159. The userid of a Postgres registered user
  160. .b must
  161. match the user's UNIX user id.  In the release, the user id of the Postgres
  162. user in /etc/passwd is presumed to be 6.  If it is not, Postgres will not run
  163. properly.  This can be overcome for those who do not wish to renumber the
  164. userid field in their password files by editing the file
  165. .lp
  166. .b src/lib/H/catalog/pg_user.h
  167. .lp
  168. and changing the "usesysid" field for the Postgres user to the one used
  169. in /etc/passwd at your site
  170. .b before
  171. compiling and installing Postgres.  The line in this file you wish
  172. to change looks like this:
  173. .(1
  174.  
  175. DATA(insert OID =    6 ( postgres 6 t t t t ));
  176.  
  177. .)l
  178. .lp
  179. If you change the two 6's above to the value used for the "postgres"
  180. user in your /etc/passwd file, this problem can be avoided.
  181. .sh 2 "Known bugs list"
  182. .pp
  183. A list of known bugs and suggested work-arounds can be anonymously
  184. ftp'ed.  This list is kept in the file ~ftp/pub/postgres-v3r1.bugs.
  185. We will make every attempt to keep this list up to date.
  186. .pp
  187. .sh 1 "Machine-dependent Problems"
  188. .pp
  189. .sh 2 "Sparcstations running SunOS 4.0.3"
  190. .pp
  191. Postgres has been known to crash SunOS 4.0.3 on Sparcstations, due to a SunOS
  192. bug in shared memory.  It appears to work on SunOS 4.1 and higher, so any
  193. reports of crashes on SunOS 4.1 and higher are appreciated.
  194. .sh 2 "The vacuum cleaner on Sparcstations"
  195. .pp
  196. The vacuum cleaner has been reported in some cases to crash the backend 
  197. on Sparcstations.  We have reproduced this problem, but unfortunately
  198. were unable to fix the error prior to this release going out.
  199.